// router/index.js
import { createRouter, createWebHistory } from "vue-router";

// 两种方案生成自动路由

// 方案一：使用 import.meta.glob

// const routes = [];
// // 1. 使用 import.meta.glob 批量导入 views 目录下的 .vue 文件
// // eager: true 表示立即导入，而不是懒加载
// const modules: any = import.meta.glob("../views/*.vue", { eager: true });

// // 2. 遍历模块，生成路由配置
// for (const filePath in modules) {
//   const component = modules[filePath].default;
//   // 处理views/index.vue文件（映射到根路径）
//   if (filePath.endsWith("views/index.vue")) {
//     routes.push({
//       path: "/", // 强制设置为根路径
//       name: "Home", // 可自定义路由名称（如"Home"）
//       component: component,
//     });
//     continue; // 跳过后续处理，避免重复添加
//   }
//   // 从文件路径中提取路由路径和名称
//   const routePath = filePath
//     .replace("../views/", "")
//     .replace(".vue", "")
//     .replace("/index", ""); // 处理 index 文件
//   routes.push({
//     path: `/${routePath}`,
//     name: routePath,
//     component: component, // 如果不需要立即导入，可以使用 () => import(filePath) 进行懒加载
//   });
// }

// 方案二：使用 import.meta.globEager

const pages = import.meta.glob("../views/**/page.js", {
  eager: true,
  import: "default",
});
const components = import.meta.glob("../views/**/*.vue", {
  eager: true,
  import: "default",
});
console.log(components);
const routes= Object.entries(pages).map(([page, meta]:any, index) => {
  const component= components[page.replace('/page.js', "/index.vue")];
  const path= page.replace('../views', "").replace('/page.js', '')||'/';
  const name= path.replace('/', '')||'Index';
  return {
    path: path,
    name:capitalizeFirstLetter(name),
    component: () => component,
    meta: meta
  };
}); 
function capitalizeFirstLetter(str: string) {
  return str.charAt(0).toUpperCase() + str.slice(1);
}
// 3. 创建路由实例
const router = createRouter({
  history: createWebHistory(),
  routes,
});

export default router;
